<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>变量提升与函数提升</title>
</head>
<body>

    <!--
        1. 变量声明提升
        * 通过var定义(声明)的变量, 在定义语句之前就可以访问到
        * 值: undefined
        2. 函数声明提升
        * 通过function声明的函数, 在之前就可以直接调用
        * 值: 函数定义(对象)
-->
    <script>
        /* 使用var来为一个变量赋值其实分为两步
           1. 在JS代码执行之前会先创建变量并赋值为undefined
           2. 当程序运行到指定的一行才会真正赋值

           var a;

           a=123
        */
        var a = 123;


        /* 使用function 函数声明的方式创建一个函数会在全局代码执行之前就执行了
           在真正运行全局代码的时候function定义的函数代码是不会运行的
        
        */
        

    </script>
</body>
</html>